//package ssm框架整体流程实现.main.java.com.itheima.controller;
//
//import com.itheima.domain.Book;
//import com.itheima.service.BookService;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Controller;
//import org.springframework.web.bind.annotation.*;
//
//import java.util.List;
///*
//    统一返回数据格式，将所有返回的信息都封装为result对象
// */
//@RestController
//@RequestMapping("/books")
//public class BookController {
//
//    @Autowired
//    private BookService bookService;
//
//    /**
//     * 添加数据
//     * @param book
//     * @return
//     */
//    @PostMapping
//    public Result save(@RequestBody Book book) {
//        //增删改操作只需要返回成功或者失败，不需要返回msg
//        Boolean save = bookService.save(book);
//        return new Result(save?Code.SAVE_OK:Code.SAVE_ERR,save);
//        //这里的增删改查操作都默认返回true，dao层的增删改是不设定返回值的，
//    }
//
//    /**
//     * 根据id删除数据
//     * @param id
//     * @return
//     */
//    @DeleteMapping("/{id}")
//    public Result deleteById(@PathVariable Integer id) {
//        Boolean aBoolean = bookService.deleteById(id);
//        return new Result(aBoolean?Code.DELETE_OK:Code.DELETE_ERR,aBoolean);
//    }
//
//    /**
//     * 修改数据
//     * @param book
//     * @return
//     */
//    @PutMapping
//    public Result update(@RequestBody Book book) {
//        Boolean update = bookService.update(book);
//        return new Result(update?Code.UPDATE_OK:Code.UPDATE_ERR,update);
//    }
//
//    /**
//     * 根据id查询数据
//     * @param id
//     * @return
//     */
//    @GetMapping("/{id}")
//    public Result selectById(@PathVariable Integer id) {
//        Book book = bookService.selectById(id);
//        int a=1/0;
//        //这里判断book是否为null才能判断是够查询成功，为空有可能也是成功，那就是此时数据库没有数据
//        Integer code=book!=null?Code.SELECT_OK:Code.SELECT_ERR;
//        //此时要是查询失败就得返回信息
//        String msg=book!=null?"":"数据查询失败，请重试";
//        return new Result(code,book,msg);
//    }
//
//    /**
//     * 查询所有数据
//     * @return
//     */
//    @GetMapping
//    public Result selectAll() {
//        List<Book> books = bookService.selectAll();
//        Integer code= books!=null?Code.SELECT_OK:Code.SELECT_ERR;
//        String msg=books!=null?"":"数据查询失败，请重试";
//        return new Result(code,books,msg);
//    }
//}
